home *** CD-ROM | disk | FTP | other *** search
/ Chip 2007 January, February, March & April / Chip-Cover-CD-2007-02.iso / Pakiet bezpieczenstwa / mini Pentoo LiveCD 2006.1 / mpentoo-2006.1.iso / modules / nessus-2.2.8.mo / usr / lib / nessus / plugins / line_overflow.nasl < prev    next >
Text File  |  2005-03-31  |  2KB  |  69 lines

  1. #
  2. # This script was written by Michel Arboi <arboi@alussinan.org> 
  3. #
  4. # GPL, blah blah blah
  5. #
  6.  
  7. if(description)
  8. {
  9.  script_id(11175);
  10.  script_version ("$Revision: 1.7 $");
  11.  
  12.  name["english"] = "Too long line";
  13.  name["francais"] = "Ligne trop longue";
  14.  
  15.  script_name(english:name["english"],
  16.             francais:name["francais"]);
  17.  
  18.  desc["english"] = "
  19. It was possible to kill the service by sending a single long 
  20. text line.
  21. A cracker may be able to use this flaw to crash your software
  22. or even execute arbitrary code on your system.
  23.  
  24. Risk factor : High";
  25.  
  26.  
  27.  script_description(english:desc["english"]);
  28.  
  29.  summary["english"] = "Crashes a service by sending a too long line";
  30.  summary["francais"] = "Tue un service en envoyant une ligne trop longue";
  31.  script_summary(english:summary["english"],
  32.                francais:summary["francais"]);
  33.  
  34.  if (ACT_FLOOD) script_category(ACT_FLOOD);
  35.  else        script_category(ACT_DENIAL);
  36.  
  37.  script_copyright(english:"This script is Copyright (C) 2002 Michel Arboi");
  38.  family["english"] = "Denial of Service";
  39.  family["francais"] = "DΘni de service";
  40.  
  41.  script_family(english:family["english"], francais:family["francais"]);
  42.  
  43.  script_dependencie("find_service.nes");
  44.  exit(0);
  45. }
  46.  
  47. #
  48.  
  49.  
  50. ports = get_kb_list("Services/unknown");
  51. if(isnull(ports))exit(0);
  52.  
  53. line = string(crap(512), "\r\n");
  54.  
  55. foreach port (make_list(ports))
  56. {
  57.     port = int(port);
  58.     s = open_sock_tcp(port);
  59.     if (s)
  60.     {
  61.       send(socket: s, data: line);
  62.       r = recv(socket:s, length:1); # Make sure data arrived
  63.       close(s);
  64.       s = open_sock_tcp(port);
  65.       if (s) { close(s); }
  66.       else { security_hole(port); }
  67.     }
  68. }
  69.